import request from './request.js';

/**
 * 生成名字
 * @param {Object} params - 请求参数
 * @param {string} params.surname - 姓氏（必填）
 * @param {string} params.gender - 性别（必填）
 * @param {string} [params.generation_word] - 字辈（可选）
 * @param {string} [params.five_elements] - 五行（可选）
 * @param {string} [params.meaning_tags] - 寓意（可选）
 * @param {string} [params.poetry_source] - 诗词出处（可选）
 * @returns {Promise} 返回生成的名字结果
 */
export const generateName = async (params) => {
  // 验证必填参数
  if (!params.surname || !params.gender) {
    throw new Error('姓氏和性别为必填项');
  }

  // 发起请求
  const res = await request({
    url: '/naming/generate',
    method: 'POST',
    data: {
      surname: params.surname,
      gender: params.gender,
      generation_word: params.generation_word,
      five_elements: params.five_elements,
      meaning_tags: params.meaning_tags,
      poetry_source: params.poetry_source
    }
  });

  return res;
};